package com.ag.oa.core.dao;

import com.ag.oa.core.entity.vo.WeeklyVO;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Map;

@Repository("weeklyDao")
public interface IWeeklyDao {

    List<WeeklyVO> getWorkReportsPageData(@Param("userId") Integer userId, @Param("page") Integer page);

    int getWeeklyReportCount(@Param("userId") Integer userId, @Param("startDate") String startDate
            , @Param("endDate") String endDate);

    void saveNewWorkReport(WeeklyVO weeklyVO);

    List<Map> getWorkContentList(@Param("reportId") Integer reportId);

    int getWeeklyTaskContentCount(@Param("reportId") Integer reportId, @Param("taskId") Integer taskId);

    void saveWorkContent(@Param("weeklyReportId") Integer weeklyReportId, @Param("taskId") Integer taskId
            , @Param("content") String content);

    void updateWorkContent(@Param("id") Integer contentId, @Param("content") String content);

    String getWorkContentDetail(@Param("id") Integer contentId);

    List<Map> getTaskAllWorkContentList(@Param("taskId") Integer taskId);

    void delById(@Param("id") Integer id);

    void delWorkContent(@Param("reportId") Integer reportId, @Param("contentId") Integer contentId);

}
